console.log(1);

new Promise((resolve,reject) => {

    console.log(2);

    setTimeout(() => {

        console.log(6);

        // 产生一个0到10的随机数
        let num = Math.floor(Math.random() * 11)

        // 如果大于等于5就resolve
        if(num >= 5){

            resolve()

        } else {

            // 否则就reject
            reject()
        }
    },1000);

    console.log(3);
})

.then(res => {
    console.log(4);
})

.catch(err => {
    console.log(7);
})


    //打印顺序：先打印同步代码再打印异步代码
    //promise也是同步代码但是resolve（）与reject（）是异步代码

    //最终输出结果为12354
    //因为promise自身是同步的，只有resolvef和reject是异步的
    //先执行同步代码再执行异步代码
    //这里唯一的异步resolve/then最后执行